<!DOCTYPE html>
<html lang="cn">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css"></style>
</head>
<body>
    <h1>JS内置对象 - String</h1>
    <hr>

    

    <script>
        var str = new String('相信我,你并不孤独...');
        var str = String(undefined);
        var str = 'I am yanyan, I xuan you, do you zao?上海!';

        console.log(str);
        console.log(typeof(str));
        console.log(str.constructor);

        document.write(str + '<br>');
        document.write(str.length + '<br>');

        document.write('加锚点: ' + str.anchor('ooxx') + '<br>');
        document.write('加粗: ' + str.bold() + '<br>');

        document.write('<hr>');
        // charAt() 获取指定下标的字符
        document.write('charAt: ' + str.charAt(2) + '<br>');
        document.write('数组用法: ' + str[2] + '<br>');

        document.write('<hr>');
        // 返回 第一次出现 指定字符的索引位置
        document.write('indexOf: ' + str.indexOf('you') + '<br>');
        document.write('indexOf: ' + str.indexOf('heheda') + '<br>');
        // 返回 最后次出现 指定字符的索引位置
        document.write('lastIndexOf: ' + str.lastIndexOf('you') + '<br>');
        document.write('lastIndexOf: ' + str.lastIndexOf('mm') + '<br>');

        // concat 连接字串
        document.write('concat: ' + str.concat('mm') + '<br>');
        document.write('concat: ' + str.concat('mm',[615,16,true]) + '<br>');
        
        document.write('<hr>');
        // substr(start, length) 截取字串,无指定长度,则截取到结尾为止
        document.write('substr: ' + str.substr(20) + '<br>');
        document.write('substr: ' + str.substr(3, 6) + '<br>');
        // substring(start, end) 截取字串,从start开始,不含end
        document.write('substring: ' + str.substring(3, 6) + '<br>');
        document.write('substring: ' + str.substring(-3, -1) + '<br>');
        // slice(start, end) 截取字串,从start开始,不含end
        document.write('slice: ' + str.slice(3, 6) + '<br>');
        document.write('slice: ' + str.slice(-3, -1) + '<br>');

        document.write('<hr>');
        // toUpperCase() 转大写
        document.write('toUpperCase: ' + str.toUpperCase() + '<br>');
        // toLowerCase() 转小写
        document.write('toLowerCase: ' + str.toLowerCase() + '<br>');

        document.write('<hr>');
        // replace 替换
        document.write('replace: ' + str.replace('you', '你') + '<br>');
        document.write('replace: ' + str.replace(/you/g, '你') + '<br>');
        document.write('replace: ' + str.replace(/\w/g, '啪') + '<br>');

        // match() 匹配第一个匹配到的结果,参数可用正则
        // 成功则返回匹配到的内容,失败返回null
        document.write('match: ' + str.match(/\w{6}/) + '<br>');
        document.write('match: ' + str.match(/\w{56}/) + '<br>');

        // 正则验证 匹配第一次出现的索引位置 不匹配则返回-1
        document.write('search: ' + str.search(/\w{6}/) + '<br>');
        document.write('search: ' + str.search(/\w{66}/) + '<br>');
        document.write('search: ' + str.search(/you/) + '<br>');

        console.log(str.split(','));
        console.log(str.split(/[, ]/));
        console.log(str.split());
        console.log(str.split(''));

    </script>


    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
</body>
</html>